import type { FormSchemaGetter } from '#/adapter/form';
import type { VxeGridProps } from '#/adapter/vxe-table';
import { getDictOptions } from '#/utils/dict';
import { getPopupContainer } from '@vben/utils';

export const querySchema: FormSchemaGetter = () => [
  {
    component: 'Input',
    fieldName: 'title',
    label: '宣教标题',
  },
  {
    component: 'Select',
    fieldName: 'format',
    label: '宣教形式',
    componentProps: {
      getPopupContainer,
      options: getDictOptions('know_edu_type'),
    },
  },
];

// 需要使用i18n注意这里要改成getter形式 否则切换语言不会刷新
// export const columns: () => VxeGridProps['columns'] = () => [
export const columns: VxeGridProps['columns'] = [
  { type: 'checkbox', width: 60 },
  {
    title: '标题',
    field: 'title',
  },
  {
    title: '内容',
    field: 'content',
  },
  {
    title: '形式',
    field: 'format',
    formatter: ({ cellValue }) => {
      const format = getDictOptions('know_edu_type').find(
        (item) => item.value === cellValue,
      );
      return format ? format.label : '--';
    },
  },
  {
    field: 'action',
    fixed: 'right',
    slots: { default: 'action' },
    title: '操作',
    width: 180,
  },
];

// export const modalSchema: FormSchemaGetter = () => [
//   {
//     label: '主键ID',
//     fieldName: 'id',
//     component: 'Input',
//     dependencies: {
//       show: () => false,
//       triggerFields: [''],
//     },
//   },
//   {
//     label: '所属知识库ID',
//     fieldName: 'knowledgeBaseId',
//     component: 'Input',
//   },
//   {
//     label: '宣教标题',
//     fieldName: 'title',
//     component: 'Input',
//   },
//   {
//     label: '形式',
//     fieldName: 'format',
//     component: 'Input',
//   },
//   {
//     label: '封面图片URL',
//     fieldName: 'coverImageUrl',
//     component: 'Input',
//     rules: 'required',
//   },
//   {
//     label: '内容',
//     fieldName: 'content',
//     component: 'RichTextarea',
//     componentProps: {
//       // disabled: false, // 是否只读
//       // height: 400 // 高度 默认400
//     },
//     rules: 'required',
//   },
// ];
